V dokumentově orientované databázi MongoDB byla nalezena a v upstreamu již opravena kritická bezpečností chyba CVE-2025-14847 aneb MongoBleed.
Při úklidu na Utažské univerzitě se ve skladovacích prostorách náhodou podařilo nalézt magnetickou pásku s kopií Unixu V4. Páska byla zaslána do počítačového muzea, kde se z pásky úspěšně podařilo extrahovat data a Unix spustit. Je to patrně jediný známý dochovaný exemplář tohoto 52 let starého Unixu, prvního vůbec programovaného v jazyce C.
FFmpeg nechal kvůli porušení autorských práv odstranit z GitHubu jeden z repozitářů patřících čínské technologické firmě Rockchip. Důvodem bylo porušení LGPL ze strany Rockchipu. Rockchip byl FFmpegem na porušování LGPL upozorněn již téměř před dvěma roky.
K dispozici je nový CLI nástroj witr sloužící k analýze běžících procesů. Název je zkratkou slov why-is-this-running, 'proč tohle běží'. Klade si za cíl v 'jediném, lidsky čitelném, výstupu vysvětlit odkud daný spuštěný proces pochází, jak byl spuštěn a jaký řetězec systémů je zodpovědný za to, že tento proces právě teď běží'. Witr je napsán v jazyce Go.
Yazi je správce souborů běžící v terminálu. Napsán je v programovacím jazyce Rust. Podporuje asynchronní I/O operace. Vydán byl v nové verzi 25.12.29. Instalovat jej lze také ze Snapcraftu.
Od soboty do úterý probíhá v Hamburku konference 39C3 (Chaos Communication Congress) věnovaná také počítačové bezpečnosti nebo hardwaru. Program (jiná verze) slibuje řadu zajímavých přednášek. Streamy a záznamy budou k dispozici na media.ccc.de.
Byl představen nový Xserver Phoenix, kompletně od nuly vyvíjený v programovacím jazyce Zig. Projekt Phoenix si klade za cíl být moderní alternativou k X.Org serveru.
XLibre Xserver byl 21. prosince vydán ve verzi 25.1.0, 'winter solstice release'. Od založení tohoto forku X.Org serveru se jedná o vůbec první novou minor verzi (inkrementovalo se to druhé číslo v číselném kódu verze).
Wayback byl vydán ve verzi 0.3. Wayback je "tak akorát Waylandu, aby fungoval Xwayland". Jedná se o kompatibilní vrstvu umožňující běh plnohodnotných X11 desktopových prostředí s využitím komponent z Waylandu. Cílem je nakonec nahradit klasický server X.Org, a tím snížit zátěž údržby aplikací X11.
Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.
GCC po dlouhou dobu bylo prakticky jedinou věcí, která by člověka napadla při spojení Linux a kompilátor jazyka C. V posledních letech se ale klidné vody začínají čeřit. Co je to LLVM a co s tím má společného Clang?
Před rokem jsem se ve dvou článcích zaměřených na programovací jazyk Vala věnoval jeho základům a snažil jsem se nastínit, jaké výhody přináší. Původním záměrem bylo postupně ukazovat vlastnosti Valy na jednoduché "ukázkové" aplikaci bez reálného využití.
Naučte se základy reverzování proprietárních ovladačů herních a jiných rozšířených USB HID zařízení a jak z nich sestavit vlastní konfigurační nástroje.
Ukážeme si, jak elegantně kopírovat soubory mezi dvěma otevřenými souborovými deskriptory bez nutnosti kopírovat obsah z jádra do uživatelského prostoru a zpět.
V minulém díle tohoto „měsíčníku“ (omlouvám se, ale dříve jsem další článek napsat nestihl) jsme si ukázali některé zajímavé vlastnosti programovacího jazyka Vala spolu s krátkými vzájemně nesouvisejícími ukázkami kódu. O tom, jaký ve skutečnosti programovací jazyk je, ale jistě nejlépe napoví, když jej člověk vidí „v akci“, tedy jako zdrojový kód programu, který k něčemu slouží.
Už jste vyzkoušeli několik programovacích jazyků, ale od každého jste utekli s tím, že jste objevili nějaký nový zajímavý? Pokud ano, pak jste na tom jako já, pokud ne, určitě se i na vašem oblíbeném jazyce najde něco, co vám tak úplně nevyhovuje. Nebojte, nehodlám vám tvrdit, že mám pro vás spásu v podobě programovacího jazyka Vala, který je naprosto dokonalý. To, s dovolením, jako obyčejný smrtelník přenechám lidem vesmírným.
Doposud jsme se v rámci seriálu o vývoji mobilních aplikací v Qt Quick seznamovali s vývojovým prostředím (Qt SDK a Qt Creatorem) a předvedli jsme si, jak si přeložit svou první aplikaci v QML. O tomhle zajímavém deklarativním jazyce jsme si pak podrobněji pověděli v druhé části seriálu. Probrali jsme strukturu QML a aplikací, do krve se nám snad i dostala syntaxe jazyka a máme i představu, kam Qt Quick patří v rámci frameworku Qt. V následujících dílech budeme pokračovat v rozšiřování našich znalostí a v tomto se zaměříme na komponenty v QML.
V minulém dílu seriálu o vývoji aplikací v QML jsme si ukázali, jak nainstalovat vývojové prostředí, vytvořit projekt a přeložit jednoduchou ukázkovou aplikaci napsanou právě v jazyce QML, a to s využitím Qt Components. Hello World prostě k životu programátora tak nějak patří. V pokračování se dostaneme více do teoretické roviny – představíme si jazyk QML, Qt Quick, možnosti jeho využití a prvky pro tvorbu uživatelského rozhraní.
Na začátek bych se chtěl omluvit, že seriál nějakou dobu neběžel. To bylo z různých důvodů, hlavně tedy různé věci mimo PC. Nyní ale pokračujeme, dnes dokončíme ty funkce, co jsme načali, přidáme si nějaké ty delegáty, pak cykly, podmínky, a přijde řada i na pole a práci s nimi a také trochu pointery, které jsou s poli těsně spjaty.
V našem seriálu nám doposud scházela jedna důležitá věc. Naučili jsme se, jak může Java volat nativní kód. Teď je ale na čase jí to oplatit a zavolat nazpět. Dále se podíváme na přistupování ke členským proměnným a na práci s poli.
Dá se říct, že v dnešní době mobilní aplikace válcují svět. A to nejen klasické „prográmky“, ať již více či méně užitečné, ale také každá významnější akce má svou vlastní mobilní aplikaci, téměř všechna dnešní vydavatelství také nabízí svůj obsah touto formou a do mobilů proniká také televize. Dokonce i herní svět se výrazně proměnil s návratem k původním přenosným zařízením.
Dnes se podíváme zase trochu dál. Nejprve se mrkneme na datové typy v D, pak nějaké ty proměnné, základní matematiku a práci s funkcemi.
Po delší časové pauze pokračuji se seriálem. V dnešní lekci si nainstalujeme kompilátor jazyka D, probereme sestavování programů a zkusíme si napsat nějaké ty prográmy na úvod. Potom bude nějaký "domácí úkol" a to by mělo být dost jako příprava na další lekci. Také zopakuji nějaké základní věci. Každý díl seriálu bude zahrnovat tři lekce a bude vycházet jednou týdně.
V listopadu uplynuly dva roky od oficiálního vydání tehdy nového programovacího jazyka Go. Místo ohlednutí se za těmito dvěma roky se dnes věnujme výhledům do blízké budoucnosti Go.
Na oficiálním blogu jazyka Go se objevil další zajímavý a užitečnými informacemi nabitý článek (Rob Pike: „The Laws of Reflection“), který je níže přeložen do češtiny. Informace o typech dostupné za běhu programu jsou v Go srovnatelné s tím, co poskytují některé jiné programovací jazyky, a podobně též umožňují typy nejenom prozkoumávat, ale, v rámci jistých omezení, také např. vytvářet jejich instance. Tohoto tématu jsme se v seriálu dosud nedotkli.
Odskočíme od „nudných“ témat a vytvoříme si svůj vlastní javovský virtuální stroj. Také si ukážeme, jak se dá v systému najít instalace Javy.
Jedním z již dříve plánovaných (mono)témat tohoto seriálu je všechno kolem ošetřování chyb. Mezitím vyšel shodou příznivých okolností na Go blogu příspěvek člena vývojového týmu Go, Andrewa Gerranda: Error handling and Go. Určitě bych na toto téma nemohl napsat článek lepší a tak s Andrewovým vědomím, souhlasem a v (doufám) souladu s původní licencí textu (Creative Commons Attribution 3.0 License), dnes přinášíme českou verzi tohoto článku, která je jen zcela nepodstatně upraveným překladem z originálu.
D je programovací jazyk, jehož záměrem bylo „C++ done right“, a tak jeho autoři kolem roku 1999 začali s kompletním redesignem jazyka C++ a odstraňováním jeho návrhových chyb. První stabilní specifikace se jazyk dočkal v roce 2007 a momentálně se pracuje na druhé verzi jazyka, o které bude i tento seriál.
V dříve publikovaných článcích na AbcLinuxu bylo zmiňováno, že Go je OOP jazyk, ale přitom nemá/nezná třídy a sémantika dědičnost je v něm atypická, řekněme přinejmenším z pohledu člověka zvyklého na např. C++ či třeba Javu. Tyto jazyky pro mnohé představují, vcelku oprávněně, něco jako současný standard z hlediska implementace OOP technik. Dnes se pokusíme některé obvyklé případy OOP, zhruba v duchu právě zmíněných jazyků, napsat v Go a to způsobem, který je v něm přirozený.
Zahajujeme navazující seriál o programování v Go, tentokrát v příkladech. Ukázky se soustředí na malý (nebo jeden) okruh problémů a budou – i vzhledem k rozsahu článku/dílu seriálu – jen schematické.

Minule jsme si ukázali jednoduchou aplikaci složenou ze dvou aktivit. V tomto díle si příklad dále rozšíříme a ukážeme si nové konstrukty. Celkově probereme množství různých témat vztahujících se k aktivitám.

V minulém díle jsme si pověděli něco o OS Android, vývojových nástrojích a o obecných principech, na jejichž základě je platforma postavena. V tomto díle si ukážeme konkrétní kusy kódu na jednoduché aplikaci.
V předchozím dílu článku jsme načali prohlídku sémantických prvků, ze kterých může programátor v Go skládat svá díla. V dnešní části se opět letmo podíváme na některé další, dosud netknuté „kostky“ stavebnice a tím úvodní Go miniseriál uzavřeme. Případné budoucí další články na téma Go by se již měly nejspíše věnovat konkrétním tématům a jejich řešení v Go.

Operační systém Android se na trhu mobilních telefonů objevil teprve nedávno. Od té doby zaznamenal raketový růst a dnes je jedním z nejpoužívanějších operačních systémů pohánějících chytré telefony. Spolu s rozšířením systému roste také poptávka po zajímavých aplikacích. V krátkém seriálu si ukážeme základy programování aplikací pro Android.

KIO je technologie, která v KDE zahrnuje téměř všechno kolem vstupně-výstupních operací a poskytuje abstrakci pro přístup ke vzdáleným úložištím. Samotnou komunikaci s úložišti pak zajišťují procesy zvané KIO Slaves.
Tiskni
Sdílej: